function getXMLHttpRequest() {
	//Créer l'objet XMLHttpRequest
	var client;
	if(window.XMLHttpRequest)
		client = new XMLHttpRequest();
	else if(window.ActiveXObject) {
		try {
			client = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			client = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return client;
}

function recupererCourrielRevendeur(idannonce) {
	
	//Créer l'objet XMLHttpRequest
	var client = getXMLHttpRequest();
	
	client.onreadystatechange = function() {
		if(this.readyState == this.DONE) {
			//Si le serveur est prêt
			if(this.status == 200 && this.responseText != null) {
				document.getElementById("revendeur").innerHTML = this.responseText;
				return;
			}
		}
	};
	
	client.open("GET", "metier/recuperercourriel.php?ida="+idannonce);
	client.send(null);
}

function effacerImage(id) {
	
	if(!confirm("Êtes-vous sûr de vouloir supprimer l'image ?"))
		return;
	
	//Créer l'objet XMLHttpRequest
	var client = getXMLHttpRequest();
	
	client.onreadystatechange = function() {
		if(this.readyState == this.DONE) {
			//Si le serveur est prêt
			if(this.status == 200 && this.responseText != null) {
				//Si la réponse est 1, alors l'image a été supprimée correctement
				if(this.responseText == 1) {
				
					//Élément photo
					var photo = document.getElementById("photo");
					//Élément parent de la photo
					var parentPhoto = photo.parentNode;
					//On supprime la photo de la page
					parentPhoto.removeChild(photo);
					
					//Le bouton supprimer
					var boutonsupprimer = document.getElementById("boutonsupprimer");
					//Parent du bouton
					var parentBouton = boutonsupprimer.parentNode;
					//Supprimer le bouton
					parentBouton.removeChild(boutonsupprimer);
					
					//On créé l'élément qui va remplacer la photo (un élément de formulaire pour uploader un fichier)
					var inputfile = document.createElement("input");
					inputfile.setAttribute("type", "file");
					inputfile.setAttribute("name", "img");
					inputfile.setAttribute("id", "img");
					//Attacher l'élément à parentPhoto
					parentPhoto.appendChild(inputfile);
				}
				else {
					alert("Une erreur est survenue pendant la suppression de l'image, veuillez réessayer...");
				}
				return;
			}
		}
	};
	
	client.open("GET", "metier/supprimerphoto.php?id="+id);
	client.send(null);
	
}

//validerConnexion()
function validerConnexion() {
	calcHash("ASCII", "SHA-512", "mdp", "mdpchiffre");
	document.getElementById("mdp").value = "";
	document.getElementById("submit").disabled = true;
	document.getElementById("reset").disabled = true;
	
	//XMLHttpRequest
	var client = getXMLHttpRequest();
	client.onreadystatechange = function() {
		if(this.readyState == this.DONE) {
			//Si le serveur est prêt
			if(this.status == 200 && this.responseText != null) {
				var mdpchiffre = document.getElementById("mdpchiffre");
				mdpchiffre.value = mdpchiffre.value+this.responseText;
				calcHash("ASCII", "SHA-512", "mdpchiffre", "mdpchiffre");
				return;
			}
		}
	};
	client.open("GET", "metier/defi.php?id=CONNEXION_DEFI", false);
	client.send(null);
	
	return true;
}

//validerReauthentification()
function validerReauthentification() {
	calcHash("ASCII", "SHA-512", "mdp", "mdpchiffre");
	document.getElementById("mdp").value = "";
	document.getElementById("submit").disabled = true;
	
	//XMLHttpRequest
	var client = getXMLHttpRequest();
	client.onreadystatechange = function() {
		if(this.readyState == this.DONE) {
			//Si le serveur est prêt
			if(this.status == 200 && this.responseText != null) {
				var mdpchiffre = document.getElementById("mdpchiffre");
				mdpchiffre.value = mdpchiffre.value+this.responseText;
				calcHash("ASCII", "SHA-512", "mdpchiffre", "mdpchiffre");
				return;
			}
		}
	};
	client.open("GET", "metier/defi.php?id=REAUTHENTIFICATION_DEFI", false);
	client.send(null);
	
	return true;
}

//validerInscription()
function validerInscription() {
	var mdp = document.getElementById("mdp");
	var con = document.getElementById("confirmation");
	if(mdp.value.length < 6) {
		mdp.style.backgroundColor = "pink";
		alert("Votre mot de passe doit faire au moins 6 caracteres");
		return false;
	}
	if(mdp.value != con.value) {
		mdp.style.backgroundColor = "pink";
		con.style.backgroundColor = "pink";
		alert("Votre mot de passe et votre confirmation de mot de passe sont différents");
		return false;
	}
	calcHash("ASCII", "SHA-512", "mdp", "mdpchiffre");
	calcHash("ASCII", "SHA-512", "confirmation", "confirmationchiffre");
	mdp.value = "";
	con.value = "";
	document.getElementById("submit").disabled = true;
	document.getElementById("reset").disabled = true;
	return true;
}

function validerChangementMdp() {
	var mdp = document.getElementById("mdpactuel");
	var nouveaumdp = document.getElementById("nouveaumdp");
	var confirmation = document.getElementById("confirmation");
	if(nouveaumdp.value.length < 6) {
		nouveaumdp.style.backgroundColor = "pink";
		alert("Votre mot de passe doit faire au moins 6 caracteres");
		return false;
	}
	if(nouveaumdp.value != confirmation.value) {
		nouveaumdp.style.backgroundColor = "pink";
		confirmation.style.backgroundColor = "pink";
		return false;
	}
	calcHash("ASCII", "SHA-512", "mdpactuel", "mdpactuelchiffre");
	calcHash("ASCII", "SHA-512", "nouveaumdp", "nouveaumdpchiffre");
	calcHash("ASCII", "SHA-512", "confirmation", "confirmationchiffre");
	mdp.value = "";
	nouveaumdp.value = "";
	confirmation.value = "";
	document.getElementById("submit").disabled = true;
	document.getElementById("reset").disabled = true;
	
	//XMLHttpRequest
	var client = getXMLHttpRequest();
	client.onreadystatechange = function() {
		if(this.readyState == this.DONE) {
			//Si le serveur est prêt
			if(this.status == 200 && this.responseText != null) {
				var mdpchiffre = document.getElementById("mdpactuelchiffre");
				mdpchiffre.value = mdpchiffre.value+this.responseText;
				calcHash("ASCII", "SHA-512", "mdpactuelchiffre", "mdpactuelchiffre");
				return;
			}
		}
	};
	client.open("GET", "metier/defi.php?id=MODIFICATIONMDP_DEFI", false);
	client.send(null);
	
	return true;
}